Many companies and other organizations operate computer networks that interconnect numerous computing systems to support their operations, such as with the computing systems being co-located (e.g., as part of a local network) or instead located in multiple distinct geographical locations (e.g., connected via one or more private or public intermediate networks). For example, data centers housing significant numbers of interconnected computing systems have become commonplace, such as private data centers that are operated by and on behalf of a single organization, and public data centers that are operated by entities as businesses to provide computing resources to customers. Some public data center operators provide network access, power, and secure installation facilities for hardware owned by various customers, while other public data center operators provide “full service” facilities that also include hardware resources made available for use by their customers.
The advent of virtualization technologies for commodity hardware has provided benefits with respect to managing large-scale computing resources for many customers with diverse needs, allowing various computing resources to be efficiently and securely shared by multiple customers. For example, virtualization technologies may allow a single physical computing machine to be shared among multiple users by providing each user with one or more virtual machines hosted by the single physical computing machine. Each such virtual machine can be thought of as a software simulation acting as a distinct logical computing system that provides users with the illusion that they are the sole operators and administrators of a given hardware computing resource, while also providing application isolation among the various virtual machines.
Over time, a number of advanced features and capabilities have been added to the virtual computing services offered at some provider networks. For example, it may be possible for a client to select different types of backing storage devices (e.g., local versus off-host storage), desired levels of network isolation (e.g., some compute instances may be configured within isolated virtual networks whose internal networking configuration can be controlled largely by the client), various levels of security, different types of pre-configured software stacks, and so on. In addition, new generations of computing, storage and networking hardware have been employed. To simplify deployment of the new features and to help isolate the impact of bugs of various kinds, the resources of at least some provider networks have been divided into several logical partitions, with the newer features and capabilities being restricted to some subset of the partitions while the older technologies continue to be supported in another subset of the partitions. For example, isolated virtual networks may only be supported in some logical partitions, with accesses from other logical partitions disabled by default. Customers of the virtual computing services may sometimes wish to transfer applications from one logical partition (e.g., an older partition in which the applications were initially deployed due to historical reasons) to another logical partition (where for example a richer set of features may be supported). However, accomplishing such transitions without affecting application availability may not be straightforward in some provider network environments.
While embodiments are described herein by way of example for several embodiments and illustrative drawings, those skilled in the art will recognize that embodiments are not limited to the embodiments or drawings described. It should be understood, that the drawings and detailed description thereto are not intended to limit embodiments to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope as defined by the appended claims. The headings used herein are for organizational purposes only and are not meant to be used to limit the scope of the description or the claims. As used throughout this application, the word “may” is used in a permissive sense (i.e., meaning having the potential to), rather than the mandatory sense (i.e., meaning must). Similarly, the words “include,” “including,” and “includes” mean including, but not limited to.